1. Field of the Invention
The present invention relates to the field of computer systems, in particular, battery powered and/or microprocessor based computer systems. More specifically, the present invention is related to the methods employed by these computer systems for saving a system image onto a permanent storage device.
2. Background
Various approaches with varying degrees of sophistication and effectiveness in reducing power consumption for computer systems, particularly battery powered computer systems, have been developed. In fact, often times, multiple approaches are employed to achieve maximum reduction in power consumption.
One traditional approach employed by many computer systems, particularly battery powered computer systems to reduce power consumption, is to slow down the CPU clock, or stop the CPU clock, if the system remains idle for a prolonged period of inactivity. The CPU clock is restored to its normal speed when an active system event is detected. The approach is simple to implement, and the state of the system just prior to slowing down or stopping the CPU does not have to be saved. However, the potential for reduction of power consumption is not as great of an approach that power to most components of the computer system can be shut off.
Another traditional approach employed by many computer systems, particularly battery powered computer systems, as an alternative or additional approach to reduce power consumption, is to selectively save the state of individual peripheral devices, and shut off power to the peripheral devices whose states have been saved, if they have not been used for a while. Power is resupplied to a peripheral device, and the peripheral device is restored to the state just before the power is shut off, when it is eventually accessed. While the approach is more difficult to implement, the potential for reduction in power consumption is greater than the previous approach. However, the potential for reduction in power consumption can still be greater if power to more components of the computer system can be shut off.
Yet another tradition approach employed by many computer systems, particularly battery powered computer systems, as a further alternative or additional approach to reduce power consumption, is to save the state of the system in memory, shut off power to all non-essential components of the computer system, except the CPU, I/O interface modules and system memory, and suspend the computer system under various conditions, including prolonged idleness. Power is restored to the non-essential components, and the system is restored to the state just prior to the power shut off when a resume execution condition is detected. Again, while the approach is more difficult to implement, the potential for reduction of power consumption is greater than the previous approaches. Nevertheless, the potential for reduction in power consumption can still be greater if power to the CPU, the I/O interface modules, and the system memory, can also be shut off.
Yet another traditional approach employed by many computer systems, particularly battery powered computer systems, as a further alternative or additional approach to reduce power consumption, is to save an image of the system onto permanent storage, and shutting off power to all components of the computer system, including the CPU, I/O interface modules, and system memory, excluding the real time clock and the logic for resuming execution under various conditions, including prolonged idleness. Power is restored to all power off components, and the system is restored to the state just prior to the power shut off when a resume execution event is detected. While the approach is more difficult to implement, the potential for reduction in power consumption is greater than any of the previous approaches.
Traditionally, since the file subsystems of different operating systems typically employ different formats in formatting permanent storage, under the approach of shutting power off to all components except the real time clock and the logic for resuming execution, either the operating system will have to save the system image before the power management hardware is invoked or the power management hardware will have to be made cognizant of which operating system is executing when saving the system image onto permanent storage. Therefore, it is desirable if the system image may be saved onto permanent storage in an operating system independent manner.
Additionally, in many battery powered computer systems that employ the last approach, typically an image of the system is also saved onto permanent storage device in the event of a low battery condition. For the smaller battery powered and microprocessor based computer systems, such as desktop, notebook and palm computers, typically there is no dedicated device or area of permanent storage for saving system image. The multi-purpose permanent storage is also used for storing user applications and/or data. Thus, for the battery powered and microprocessor based computer systems, if the saving of the system image is due to low battery and the operation is performed in an operating system dependent manner, the operation may result in data loss. Data stored on the multi-purpose permanent storage may be corrupted as a result of the process of saving the system image not being able to complete before power runs out. Therefore, it is particularly desirable for the battery powered and microprocessor based computer systems if the system image may be saved onto permanent storage in an operating system independent manner.
As will be described, this object and desired result is among the objects and desired results achieved by the present invention. The present invention provides an improved method and apparatus for saving a system image onto permanent storage that is operating system independent. The improved method and apparatus will not corrupt user data on multi-purpose permanent storage of a battery powered and microprocessor based computer systems even if the process of saving the system image is unable to complete before power runs out.